小编Sie*_*sta的帖子

Python google-cloud-bigquery Parquet 列“日期”的类型为 INT64,与目标 cpp_type INT32 不匹配

我正在尝试使用将 Dataframe 上传到 BigQuery Table client.load_table_from_dataframe。我还使用提供一个模式

job_config = bigquery.LoadJobConfig(
    schema=[xxxxxx,xxxxxx,xxxxxx]) 
Run Code Online (Sandbox Code Playgroud)

所有这些都有效,直到我不得不将代码移动到新的虚拟机并再次安装所有软件包。我已经在谷歌上搜索了一下,似乎有更多的人遇到了 Parquet 和 BQ 的问题,他们通过再次安装软件包解决了这个问题。这似乎对我不起作用。

我也不明白为什么错误说日期是INT64. 在 pandas 中它是一种Datetime[n64]类型。在 BQ 表和架构中它是 DATE 类型。有没有人遇到过类似的问题?

python pandas google-bigquery

10
推荐指数
1
解决办法
2308
查看次数

将 csv 文件读取到 pandas 失败

我有一个通过将 Tableau 表导出到 csv 生成的 csv 文件,但我无法在 Python 中打开它。

\n\n

我尝试使用 pd.read_csv 但失败了。

\n\n
import pandas as pd\n\n#path to file\npath = "tableau_crosstab.csv"\n\ndata = pd.read_csv(path, encoding="ISO-8859-1") \n
Run Code Online (Sandbox Code Playgroud)\n\n

这适用于读取文件,但结果只是多行,每行一个字符,以及帧头部的一些奇怪字符。

\n\n
\xc3\xbf\xc3\xbed\no    \nm    \na    \ni\n
Run Code Online (Sandbox Code Playgroud)\n\n

等等。当我尝试在 Excel 中导入文件时,我必须选择制表符作为分隔符,但是当我在这里尝试时,它失败了

\n\n
import pandas as pd\n\n#path to file\npath = "tableau_crosstab.csv"\n\ndata = pd.read_csv(path, encoding="ISO-8859-1", sep=\'\\t\') \n
Run Code Online (Sandbox Code Playgroud)\n\n

CParserError:标记数据时出错。C 错误:第 7 行应有 1 个字段,但看到了 2 个字段

\n\n

我确实尝试使用编解码器打开文件,然后它说编码是“cp1252”,但使用它作为编码也失败。

\n\n

我也尝试使用 utf-8 读取它,但也失败了。\n我已经没有办法解决这个问题了。

\n\n

如果有人可以看一下,这里是一个副本的链接http://www.mediafire.com/file/6dtxo2deczwy3u2/tableau_crosstab.csv

\n

python pandas

2
推荐指数
1
解决办法
2670
查看次数

标签 统计

pandas ×2

python ×2

google-bigquery ×1