我有一堆已经导出为CSV文件的表。它们维护了一些主键/外键关系,我想使用它们创建一个新的CSV文件视图。
数据库/csv:
Replys.csv
-PostId
-ReplyId
-ReplyText
Users.csv
-ReplyId
-UserId
-UserText
字符串ReplyId
是Replys.csv
中的主键,Users.csv
中的外键。
对于每个User
,找到ReplyId Users.csv -> Replys.csv ReplyId
。
要在SQL中打印每个用户及其ReplyId和ReplyText:
SELECT ReplyId, ReplyText
FROM Users, Replys
WHERE Users.ReplyId = Replys.ReplyID
型
我怎么能只使用CSV文件呢?
3条答案
按热度按时间lfapxunr1#
您可以执行
inner
合并:假设
replys
来自replys.csv,users
来自users.csv:字符串
对于多对一的关系,您可以执行
left
合并:型
如果你来自SQL,文档中有一个有用的部分
你可以这样阅读CSV:
型
上面的代码假定CSV中的第一行包含标题行,并且用逗号分隔
vkc1a9a22#
Pandas的嵌套尝试给予类似SQL的操作。
pd.read_csv
两个CSV,然后做类似pandas.merge(users, replys, on='reply_id')
的事情。http://pandas.pydata.org/pandas-docs/version/0.15.2/merging.html
vi4fp9gy3#
首先,您将导入不同的表到您的数据库中,而不是多个数据库。这似乎是第一个混淆点。您应该能够直接导入csv文件表到您的数据库中。一旦您有了所描述的表关系,您应该能够通过执行
INNER JOIN
来获取必要的数据:字符串