我正试图从我的私有谷歌硬盘读取CSV文件.该文件具有以下授权:任何具有链接的人.这是链接:https://drive.google.com/file/d/12txcYHcO8aiwO9f948_nsaIE3wBGAuJa/view?usp=sharing

以下是该文件的示例:

email   first_name  last_name
        
uno@gmail.com   Luca    Rossi
due@gmail.com   Daniel  Bianchi
tre@gmail.com   Gabriel Domeneghetti
qua@gmail.com   Christian   Bona
cin@gmail.com   Simone  Marsango

我需要读取这个文件,以便将这些数据解析为一个程序.我try 了很多方法,例如在这个问题中提出的每种可能性:Pandas: How to read CSV file from google drive public?.

csv_file_url = 'the file URL as copied in the drive UI'

file_id = csv_file_url.split('/')[-2]
dwn_url = 'https://drive.google.com/uc?export=download&id=' + file_id
url2 = requests.get(dwn_url).text
csv_raw = StringIO(url2)
df = pd.read_csv(csv_raw)
print(df.head())

这应该行得通,但只返回这个表:

   ÿþe  Unnamed: 1  Unnamed: 2
0  NaN         NaN         NaN
1  NaN         NaN         NaN
2  NaN         NaN         NaN
3  NaN         NaN         NaN
4  NaN         NaN         NaN

我认为这只是一个格式问题,但我不知道如何摆脱它.如果你知道怎么做,请帮帮我.

推荐答案

您的数据是UTF16编码的.您可以通过指定编码来读取它:

pd.read_csv(dwn_url, encoding='utf16')

结果:

           email first_name     last_name
0            NaN        NaN           NaN
1  uno@gmail.com       Luca         Rossi
2  due@gmail.com     Daniel       Bianchi
3  tre@gmail.com    Gabriel  Domeneghetti
4  qua@gmail.com  Christian          Bona
5  cin@gmail.com     Simone      Marsango

(read_csv可以直接从url读取,不需要requestsStringIO.)

Python相关问答推荐

图像 pyramid .难以创建所需的合成图像

将9个3x3矩阵按特定顺序排列成9x9矩阵

在极性中创建条件累积和

形状弃用警告与组合多边形和多边形如何解决

不允许访问非IPM文件夹

计算分布的标准差

如何启动下载并在不击中磁盘的情况下呈现响应?

将pandas导出到CSV数据,但在此之前,将日期按最小到最大排序

在www.example.com中使用`package_data`包含不包含__init__. py的非Python文件

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

Flask Jinja2如果语句总是计算为false&

合并与拼接并举

如何在FastAPI中替换Pydantic的constr,以便在BaseModel之外使用?'

Python Mercury离线安装

当我定义一个继承的类时,我可以避免使用`metaclass=`吗?

如何写一个polars birame到DuckDB

文本溢出了Kivy的视区

使用美汤对维基百科表格进行网络刮擦未返回任何内容

#将多条一维曲线计算成其二维数组(图像)表示

用LAKEF划分实木地板AWS Wrangler